1. Field of the Invention
The present invention relates to an update-startup apparatus and an update-startup control method which update a program constituting an operating system (hereinafter, referred to as an OS), and which then starts the OS.
2. Description of the Related Art
Heretofore, a computer, such as a mobile telephone or a PDA (Personal Digital Assistant), obtains update information including an update program via a network, in response to an input operation by a user.
Here, the update program is the one in which a bug in a program constituting an OS or the like is fixed.
Then, the computer updates the program having the bug by using this update information.
In addition, a computer allowing a plurality of OSs to be executed has been provided. Examples of a combination of the plurality of OSs executed on the computer include: a combination of a real-time OS for executing real-time control, and a general-purpose OS such as Linux (trademark), Windows (trademark) or the like, which is widely used; and a combination of a Trusted OS for executing a process at a certain level of reliability and an Untrusted OS for executing a process at a lower level of reliability than that handled by the Trusted OS.
The computer can execute not only a process of starting all the OSs (an all-OS-startup process), but also a process of starting one of OSs (a single-OS-startup process).
For example, in a case where a computer has a trouble only in a second OS while operating on a first OS and the second OS, the computer can reboot only the second OS.
Here, the following combinations of the above processes can be considered.
A first one is a combination of the program update process and the all-OS-startup process (a combined process 1), and a second one is a combination of the program update process and the single-OS-startup process (a combined process 2).
Hereinafter, descriptions will be given of problems which occur when the combined processes 1 and 2 are executed.
FIG. 9 is a software configuration diagram of a computer at the time when the combined processes 1 and 2 are used. FIG. 10 is a flowchart showing a process operation of the computer at the time when the combined processes 1 and 2 are used.
As shown in FIG. 9, the computer includes a boot program 11, an update agent 12, a dispatcher 13 and an update information storage unit 20.
The update agent 12 is configured to update an OS program constituting a first OS 14 or a second OS 15 in response to an instruction from the boot program 11.
The dispatcher 13 is configured to reboot the first OS 14 or the second OS 15 in response to an instruction from the boot program 11.
The update information storage unit 20 is configured to store downloaded update information.
Note that the boot program 11 and the update agent 12 are configured to execute the program update process. The dispatcher 13 is configured to execute the all-OS-startup process and the single-OS-startup process.
As shown in FIG. 10, in step S1, the boot program 11 is started at startup of the computer (at power-on or at reboot).
If “presence information” indicating that update information exists is stored in the update information storage unit 20 in step S3, the boot program 11 starts the update agent 12.
In step S5, the update agent 12 executes an update of dispatcher 13 or one of the OSs by using the update information, and deletes the “presence information”.
If the “presence information” is not stored in the update information storage unit 20, the boot program 11 starts the dispatcher 13 in step S9.
In steps S11 and S13, the dispatcher 13 allocates memory areas for the first OS 14 and the second OS 15, and starts the first OS 14 and the second OS 15.
The process up to this point falls under the category of the combined process 1.
Alternatively, the dispatcher 13 can start any one of the OSs instead of all of the OSs. The process up to this point falls under the category of the combined process 2.
However, in a case where the combined process 1 is executed, not only an OS related to an update but also an OS not related to an update are rebooted (steps S9 to S13).
For this reason, the computer cannot reboot only the OS related to the update while allowing the OS not related to the update to keep running. It results in increasing downtime of the operating rate of the OS not related to the update.
In contrast, in a case where the combined process 2 is executed, it is possible to reboot only the OS related to the update, and thereby to solve the problem of the combined process 1. However, the following problem occurs.
To be more precise, in a case where there is not update information for updating a program constituting the first OS 14 but where there exists update information for updating a program constituting the second OS 15 when power is turned on, the program update process (steps S1 to S7 shown in FIG. 10) is inevitably executed. Thereafter, the single-OS-startup process is executed.
For this reason, even though power is turned on, the first OS 14 not related to the update is not started until the program update process ends.
For this reason, in a case where power is turned on, the computer cannot promptly start an OS not related to the update. As a result, the operating rate of the OS cannot be enhanced.